package weibo4andriod.b.a;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.Reader;
import java.io.StringReader;

public final class f
{
  private int a;
  private Reader b;
  private char c;
  private boolean d;

  private f(Reader paramReader)
  {
    if (paramReader.markSupported());
    for (Object localObject = paramReader; ; localObject = new BufferedReader(paramReader))
    {
      this.b = ((Reader)localObject);
      this.d = false;
      this.a = 0;
      return;
    }
  }

  public f(String paramString)
  {
    this(new StringReader(paramString));
  }

  private String a(int paramInt)
  {
    String str;
    if (paramInt == 0)
    {
      str = "";
      label8: return str;
    }
    char[] arrayOfChar = new char[paramInt];
    if (this.d)
    {
      this.d = false;
      arrayOfChar[0] = this.c;
    }
    label104: int j;
    for (int i = 1; ; j = 0)
    {
      while (true)
      {
        if (i < paramInt);
        try
        {
          int k = this.b.read(arrayOfChar, i, paramInt - i);
          if (k == -1)
          {
            this.a = (i + this.a);
            if (i >= paramInt)
              break label104;
            throw a("Substring bounds error");
          }
          i += k;
        }
        catch (IOException localIOException)
        {
          throw new b(localIOException);
        }
      }
      this.c = arrayOfChar[(paramInt - 1)];
      str = new String(arrayOfChar);
      break label8:
    }
  }

  public final b a(String paramString)
  {
    return new b(paramString + toString());
  }

  public final void a()
  {
    if ((this.d) || (this.a <= 0))
      throw new b("Stepping back two steps is not supported");
    this.a -= 1;
    this.d = true;
  }

  public final char b()
  {
    if (this.d)
    {
      this.d = false;
      if (this.c != 0)
        this.a = (1 + this.a);
    }
    for (int j = this.c; ; j = this.c)
    {
      int i;
      while (true)
      {
        return j;
        try
        {
          i = this.b.read();
          if (i > 0)
            break label68;
          this.c = '\0';
          j = 0;
        }
        catch (IOException localIOException)
        {
          throw new b(localIOException);
        }
      }
      label68: this.a = (1 + this.a);
      this.c = (char)i;
    }
  }

  public final char c()
  {
    int i;
    do
      i = b();
    while ((i != 0) && (i <= 32));
    return i;
  }

  public final Object d()
  {
    char c1 = c();
    StringBuffer localStringBuffer2;
    label65: String str;
    StringBuffer localStringBuffer1;
    label119: char c2;
    switch (c1)
    {
    default:
      localStringBuffer2 = new StringBuffer();
      if ((c1 >= ' ') && (",:]}/\\\"[{;=#".indexOf(c1) < 0))
        break label404;
      a();
      str = localStringBuffer2.toString().trim();
      if (!(str.equals("")))
        break label419;
      throw a("Missing value");
    case '"':
    case '\'':
      localStringBuffer1 = new StringBuffer();
      c2 = b();
      switch (c2)
      {
      default:
        if (c2 != c1)
          break label362;
      case '\0':
      case '\n':
      case '\r':
      case '\\':
      }
    case '{':
    case '(':
    case '[':
    }
    for (Object localObject = localStringBuffer1.toString(); ; localObject = c.g(str))
    {
      while (true)
      {
        return localObject;
        throw a("Unterminated string");
        char c3 = b();
        switch (c3)
        {
        default:
          localStringBuffer1.append(c3);
          break;
        case 'b':
          localStringBuffer1.append('\b');
          break;
        case 't':
          localStringBuffer1.append('\t');
          break;
        case 'n':
          localStringBuffer1.append('\n');
          break;
        case 'f':
          localStringBuffer1.append('\f');
          break;
        case 'r':
          localStringBuffer1.append('\r');
          break;
        case 'u':
          localStringBuffer1.append((char)Integer.parseInt(a(4), 16));
          break;
        case 'x':
        }
        localStringBuffer1.append((char)Integer.parseInt(a(2), 16));
        break label119:
        label362: localStringBuffer1.append(c2);
        break label119:
        a();
        localObject = new c(this);
        continue;
        a();
        localObject = new a(this);
      }
      label404: localStringBuffer2.append(c1);
      c1 = b();
      label419: break label65:
    }
  }

  public final String toString()
  {
    return " at character " + this.a;
  }
}

/* Location:           E:\Desktop\Android\wordstd\classes_dex2jar.jar
 * Qualified Name:     weibo4andriod.b.a.f
 * JD-Core Version:    0.5.3
 */